package com.wu.javax.servlet.http;

/**
 * @program: tomcatServer
 * @author: 吴磊
 * @create: 2021-12-31 13:59
 */
public interface HttpSession {
    /**
     * 返回此会话中与指定名称绑定的对象，如果该名称下未绑定任何对象，则返回null
     *
     * @param name 指定对象名称的字符串
     * @return 具有指定名称的对象
     */
    Object getAttribute(String name);

    /**
     * 使用指定的名称将对象绑定到此会话。 如果同名对象已绑定到会话，则替换该对象。
     *
     * @param name  对象绑定的名称，不能为空
     * @param value 要绑定的对象
     */
    void setAttribute(String name, Object value);

    /**
     * 从此会话中删除与指定名称绑定的对象。 如果会话没有使用指定名称绑定的对象，则此方法不执行任何操作。
     *
     * @param name 指定对象名称的字符串
     */
    void removeAttribute(String name);

    /**
     * 返回包含分配给此会话的唯一标识符的字符串。 标识符由 servlet 容器分配并且依赖于实现
     *
     * @return 一个字符串，指定分配给此会话的标识符
     */
    String getId();

    /**
     * 返回创建此会话的时间
     *
     * @return 一个long指定会话的创建时间
     */
    long getCreationTime();

    /**
     * 返回客户端上次发送与此会话关联的请求的时间，并以容器收到请求的时间为标志。
     *
     * @return 一个long代表最后一次客户端发送与该会话关联的请求，以毫秒表示
     */
    long getLastAccessedTime();
}

